﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Tum.CollabXT
{
    /// <summary>
    /// Interface for an artifact.
    /// </summary>
    public interface IArtifact : IStaticProcessElement
    {
        /// <summary>
        /// States, if an artifact is initial, which means it exists when the project starts.
        /// </summary>
        bool IsInitial
        {
            get;
            set;
        }

        /// <summary>
        /// States, if a artifact is external, which means it is created by another team.
        /// </summary>
        bool IsExternal
        {
            get;
            set;
        }

        /// <summary>
        /// States, if a template for a document should be provided.
        /// </summary>
        bool HasDocumentTemplate
        {
            get;
            set;
        }

        /// <summary>
        /// Gets or sets the path to a template, if one exists.
        /// </summary>
        string DocumentTemplatePath
        {
            get;
            set;
        }

        /// <summary>
        /// Gets or sets the name of the specified artifact type.
        /// </summary>
        string TypeName
        {
            get;
            set;
        }
    }
}
